package com.jcj.jcjmq.client;

import com.jcj.jcjmq.model.Message;
import lombok.AllArgsConstructor;
import lombok.SneakyThrows;

import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;

@AllArgsConstructor
public class JcjMq {
//    private String topic;
//
//    public JcjMq(String topic) {
//        this.topic = topic;
//    }
//
//    private LinkedBlockingQueue<Message> queue = new LinkedBlockingQueue<>();
//
//    private List<JcjListener> listeners=new LinkedList<>();
//
//    public boolean send(Message message) {
//        boolean b = queue.offer(message);
//        listeners.forEach(listener -> listener.onMessage(message));
//        return b;
//    }
//
//    @SneakyThrows
//    public <T> Message<T> poll(long timeout) {
//        return queue.poll(timeout, TimeUnit.MILLISECONDS);
//    }
//
//    public void addListener(JcjListener listener) {
//        listeners.add(listener);
//    }
}
